package com.wwu.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wwu.common.web.ResultPage;
import com.wwu.system.entity.LoginLog;
import com.wwu.system.vo.QueryVO;

import java.util.List;

/**
 * 系统登陆日志服务接口类
 * @author 一蓑烟雨
 * @date 2023/5/31 9:37
 */
public interface ILoginLogService extends IService<LoginLog> {
    /**
     * 分页查询系统登陆日志信息
     * @param pageNum  页码
     * @param pageSize  每页多少条
     * @param loginLog   系统登陆日志实体
     * @param queryVO   前端查询条件封装实体类
     * @return com.wwu.common.web.ResultPage
     * @author 一蓑烟雨
     * @date 2023/7/27 19:56
     */
    ResultPage getLoginLoglistPage(Integer pageNum, Integer pageSize, LoginLog loginLog, QueryVO queryVO);

    /**
     * 异步保存登陆日志
     * @param loginLog 登陆日志实体
     * @author 一蓑烟雨
     * @date 2023/7/29 11:06
     */
    void saveLoginLog(LoginLog loginLog);

    /**
     * 异步更新登陆日志(退出时间登)
     * @param loginLog 登陆日志实体
     * @author 一蓑烟雨
     * @date 2023/7/28 11:34
     */
    void updateLoginLog(LoginLog loginLog);

    /**
     * 删除登陆日志信息
     * @param recordIds 记录id
     * @author 一蓑烟雨
     * @date 2023/7/27 19:38
     */
    void deleteLoginLog(List<String> recordIds);

    /**
     * 定时任务删除登陆日志
     * @param loginLog  登陆日志实体
     * @param queryVO 查询条件
     * @return int
     * @author 一蓑烟雨
     * @date 2023/8/16 16:18
     */
    int deleteLoginLog(LoginLog loginLog, QueryVO queryVO);
}
